package com.xbongbong.sys.model;


import com.xbongbong.sys.domain.entity.ApiTokenEntity;

import java.util.List;

/**
 * @author kaka
 */
public interface ApiTokenModel {

	/**
	 * 插入apiToken逻辑
	 * @param entity apiToken实体
	 * @return 影响记录数
	 */
	Integer insert(ApiTokenEntity entity);

	/**
	 * 更新apiToken逻辑
	 * @param entity apiToken实体
	 * @return 影响记录数
	 */
	Integer update(ApiTokenEntity entity);

	/**
	 * 保存逻辑，若id为null或小于0则新建，否则更新
	 * @param entity apiToken实体
	 * @return 影响记录数
	 */
	Integer save(ApiTokenEntity entity);

	/**
	 * 获取公司apiToken实体，用于api调用
	 * @param corpid 公司id
	 * @return corpid对应公司的apiToken实体
	 */
	ApiTokenEntity getByCorpId(String corpid);

	/**
	 * 获取公司apiToken实体，用于api调用
	 * @param corpid 公司id
	 * @return corpid对应公司的apiToken实体
	 */
	ApiTokenEntity getByCorpId(String corpid, Integer openAppId);

	/**
	 * 获取corpid对应的所有第三方应用授权记录
	 * @param corpid
	 * @return
	 */
	List<ApiTokenEntity> getByCorpidAndExistOpenApp(String corpid);

	/**
	 * 获取有效的公司id集合
	 * @param endTimeStart
	 * @return
	 * 创建时间 2020/10/9 11:12 AM
	 * 修改时间 2020/10/9 11:12 AM
	 * @author chy
	 */
	List<String> getCorpidIn(Long endTimeStart);
}

